home *** CD-ROM | disk | FTP | other *** search
- IBM Internal Use Only
-
-
- Description of VIRSCAN:
- =======================
-
- VIRSCAN tests executable files on disks for signature strings that are
- found in some common PC-DOS computer viruses. If a drive is specified,
- it will also test the drive for boot sector viruses.
-
- To use it, simply type at the command prompt (for example)
- virscan c:
-
- Type virscan without any arguments for some help.
-
-
- Technical details:
- ==================
-
- VIRSCAN.EXE is the executable program. It should run under OS/2 1.0,
- 1.1, and DOS 2.0, 2.1, 3.1, 3.2, 3.3, 4.0.
- The current version may not have been tested in all these environments.
- It will run in an OS/2 PM window.
-
- VIRSCAN can be run off of a bootable write protected floppy diskette. I
- suggest that VIRSCAN be installed on such a diskette, and that the
- system be cold booted (power-cycled) using this diskette before running
- VIRSCAN. This procedure *should* be followed if VIRSCAN is being used
- when there are any computer virus infections endemic (or epidemic) in
- the vicinity. (In particular, the BRAIN virus may not be detected unless
- this procedure is followed!)
-
- SIGFILE.LST is a list of signature entries for COM and EXE viruses. The
- first line of an entry is a simple hex string. The second line is a
- message displayed if the hex string is found. The third line informs
- the program of what file types the signature might be found in. VIRSCAN
- does not trust the name of a file. Files with the .EXE header, i.e.
- files whose first two bytes are hex 4D and 5A, are assumed to be .EXE
- files. Files without the .EXE header are assumed to be of indeterminate
- type.
-
- The current version of the signature file SIGFILE.LST includes
- signatures for the following EXE and COM viruses:
- -The 17XX virus family, including the 1701 virus, the 1704 variant,
- the 17Y4 variant, and the 1704-C variant. The 1704-B variant
- is detected as the 1704. The 1704-Format is detected as the 1704-C.
- (AKA the Second Austrian Virus, the Falling Tears virus, the
- Cascade virus, the BlackJack virus) (AKA == Also Known As)
- -The April 1st .EXE and .COM viruses.
- -The Jerusalem virus. (AKA the Israeli virus, the Hebrew University
- virus, the Black Hole virus, the JV.)
- -The 648 virus. (AKA the One-In-Eight virus, the Austrian virus,
- the DOS-62 virus, the Vienna virus.)
- -The 648 reboot code, that the 648 sometimes overwrites COM files with.
- (This is an effect of the 648 virus, not a virus itself.)
- -The 1280 virus. The 1168 variant. (AKA the Datacrime virus.)
- -The LeHigh virus. (Version 1)
- -The 405 virus.
- -The 3066 virus. (AKA the TraceBack virus)
- -The Fu Manchu virus. (AKA the
- -The DataCrime II virus. (AKA the 1514)
- -The Icelandic virus family, and the Icelandic II variant.
- -The Friday the 13th virus. (AKA the 512 virus, the COM virus)
- (The signature for the virus has not been addequately tested.
- It was derived from a slightly modified sample; we do not have
- an unmodifed working sample of this virus)
- -The SYSLOCK virus.
- -The 2930 virus. (AKA the TraceBack version 2 virus)
-
- SIGBOOT.LST is a list of signature for boot sector viruses. It has the
- same format as SIGFILE.LST. VIRSCAN will test system boot sectors
- of any drives that are specified, and the master boot record of the C:
- drive if it is specified. There are also command line parameters
- to scan any particular drive for boot sector viruses only.
- Warning: VIRSCAN cannot scan master boot records if it is run in
- an OS/2 protect mode session!!
-
- The current version of the signature file SIGBOOT.LST includes
- signatures for the following boot sector viruses:
- -The Brain virus. The Shoe variant. (AKA the Pakistani virus.)
- -The Stoned virus. (AKA the Marijuana virus, the New Zealand virus.)
- -The Yale virus. (AKA the Alameda virus, the Merritt virus.)
- -The Bouncing Ball virus. (AKA the Ping-Pong virus, the Italian virus.)
- -The Den Zuk virus. (AKA Den Zuk)
- -The Israeli boot virus.
- -The Ashar virus. (A Brain virus variant.)
-
- VSSRC.RAM contains source files, including a MAKE file for compilation
- under C/2 1.1 and the OS/2 programmer's toolkit. It should be unpacked
- using a LOADRAM.EXE version that supports the tersed format. The
- program will compile under Whitesmith's C, a VM/CMS C compiler, without
- the support for searching an entire drive and the support for searching
- boot sectors. XSTR.C supplies a couple of ANSI functions that are
- missing from the version of Whitesmith's C that I use. A VM/CMS MODULE
- is available from me on request. The VM version can be used to scan
- binary images of PC executable files. Please feel free to play with the
- code. The family API directory tree traversal routine may be of more
- general interest.
-
- VIRSCAN sets the DOS or OS/2 error level as follows upon exit:
- Errorlevel 0 means no virus signatures were found, and no other
- fatal errors occurred.
- Errorlevel 1 means no virus signatures were found, but VIRSCAN
- terminated with some other error, before the scan
- was complete.
- Errorlevel 2 means that virus signatures were found.
-
-
- Weaknesses:
- ===========
-
- Dave Chess and I have conducted some testing of VIRSCAN's ability to
- detect known boot sector viruses. VIRSCAN was able to detect all the
- boot sector viruses of which we have samples. It is very easy to go
- wrong, so read the following carefully.
-
- - VIRSCAN running under OS/2 will not (and cannot) find the 'Stoned'
- virus on an infected hard disk. VIRSCAN under OS/2 *does* find the
- 'Stoned' virus on infected diskettes. VIRSCAN running under DOS will
- find the 'Stoned' virus on an infected "C:" drive, and on infected
- diskettes.
-
- - Many boot sector viruses survive a soft boot, i.e.
- control-alt-delete. For complete coverage, I *strongly* recommend that
- VIRSCAN be installed on a bootable write-protected floppy diskette
- (along with any other anti-virus tools used), and that it only be run
- after *power-cycling* the computer. For an extra increment of safety,
- VSTOP from PCTOOLS could be run before running VIRSCAN.
-
- - VIRSCAN will only detect the BRAIN virus if the BRAIN virus is not in
- control. If this virus is in control, it intercepts reads of the boot
- sectors and returns the original, uninfected boot sector.
- (In other words, cold boot from an uninfected write protect floppy!)
-
- - The support for detection of boot sector viruses is strongest for the
- "A:" and "C:" drives. For the boot viruses that VIRSCAN currently
- detects, suspect diskettes may be scanned in any drive.
-
- - For technical folks: if a scan of the A: or C: disk is specified,
- VIRSCAN uses BIOS INT 13 to scan the master boot record at head 0, track
- 0, sector 1 of physical drives 00H or 80H respectively. Note the implicit
- assumption that the active partition is always C:.
- For drive letters other than A: and C:, no such scan is done unless
- explicitly requested on the command line.
- For example, if the second physical hard drive were "D:", it might be
- scanned as follows:
- virscan d: -b81
-
- Some future release of VIRSCAN may eliminate some of these problems with
- the boot sector support. Until then, please be aware of the problems.
-
- Please recognize that this type of scanner is relatively weak and that
- small alterations of known viruses may not be detected. I am pursuing
- ways of making this scanner more likely to detect mutations, without
- compromising its speed. If you have any ideas, I would be happy to
- correspond with you about them.
-
-
- Who's responsible?
- ==================
-
- Thanks to Dave Chess for supplying the signatures, for keeping the
- signature lists updated, and for testing VIRSCAN against his collection
- of viruses. (And for being brave enough to keep a collection!)
-
- Please direct any questions, complaints or other correspondence to me, or
- to VIRSCAN FORUM on IBMPC.
- Correspondence will be appreciated.
-
-
- Bill Arnold
- BARNOLD at YKTVMH
- Tie 863-7544
- External 914 789-7544
-